Basics
Introduction to C++ Programming
- Installing a C++ compiler and setting up the environment
- C++ syntax and structure
- Compiling and running C++ programs
Data Types and Variables
- Primitive data types (int, float, double, char)
- Arrays, strings, and standard library containers (vector, array)
- Variable declaration and naming conventions
Basic Operators
- Arithmetic operators
- Comparison operators
- Logical operators
- Assignment operators
Control Structures
- Conditional statements (if, else if, else)
- Loops (for, while, do-while)
- Break and continue statements
Intermediate
Functions
- Defining and calling functions
- Function parameters and return values
- Function overloading
- Lambda expressions
Classes and Objects
- Creating classes and objects
- Constructors and destructors
- Inheritance and polymorphism
- Encapsulation and abstraction
STL (Standard Template Library)
- Containers (vector, list, map, set)
- Iterators and algorithms
- Smart pointers (unique_ptr, shared_ptr)
File Handling
- Reading from and writing to files
- Working with different file formats (text, binary)
- File streams (ifstream, ofstream)
Advanced
Templates and Generic Programming
- Creating and using function templates
- Class templates
- Template specialization
Exception Handling
- Try-catch blocks
- Throwing exceptions
- Handling standard exceptions
Concurrency and Parallelism
- Thread management (std::thread)
- Mutexes and condition variables
- Futures and promises
Advanced Topics
- RAII (Resource Acquisition Is Initialization)
- Move semantics and rvalue references
- Concurrency with std::async and std::future